package com.quickstart.common.redies;

/**
 * 
* @Title RedisClient</p>
* @Project runlin-framework
* @Package com.runlin.framework.cache.redis
* @version V1.0
 */
public interface RedisClient {

	/**
	 * 
	* @Title: set
	* @Description: do redis set
	* @param @param key
	* @param @param value
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String set(String key, String value);

	/**
	 * 
	* @Title: get
	* @Description: do redis get
	* @param @param key
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String get(String key);

	/**
	 * 
	* @Title: hget
	* @Description: do redis hget
	* @param @param hkey
	* @param @param key
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	public String hget(String hkey, String key);

	/**
	 * 
	* @Title: hset
	* @Description: do redis hset
	* @param @param hkey
	* @param @param key
	* @param @param value
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public long hset(String hkey, String key, String value);
	
	/**
	 * 
	* @Title: hdel
	* @Description: do redis hdel
	* @param @param hkey
	* @param @param key
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public long hdel(String hkey, String key);

	/**
	 * 
	* @Title: incr
	* @Description: do redis increment
	* @param @param key
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public String incr(String key);

	/**
	 * 
	* @Title: expire
	* @Description: do redis expire time, unit is second
	* @param @param key
	* @param @param second
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public long expire(String key, int second);

	/**
	 * 
	* @Title: ttl
	* @Description: do redis ttl
	* @param @param key
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public long ttl(String key);

	/**
	 * 
	* @Title: del
	* @Description: do redis del by key
	* @param @param key
	* @param @return    设定文件
	* @return long    返回类型
	* @throws
	 */
	public long del(String key);

}
